package com.baoyouqun.domain.UpdateCmd;

import com.baoyouqun.domain.Enum.ReportTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class ReportRecordUpdateCmd implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键ID")
    private String id;

    @ApiModelProperty(value = "举报用户ID（关联user表）")
    private String userId;

    @ApiModelProperty(value = "举报对象类型（如：user-用户, post-帖子, comment-评论）")
    private String reportTargetType;

    @ApiModelProperty(value = "举报对象ID（根据类型关联对应表）")
    private String reportTargetId;

    @ApiModelProperty(value = "举报类型（如：spam-垃圾信息, illegal-违法内容, abuse-辱骂）")
    private ReportTypeEnum reportType;

    @ApiModelProperty(value = "举报内容描述")
    private String reportContent;

    @ApiModelProperty(value = "举报内容附件")
    private List<String> files;

    @ApiModelProperty(value = "处理状态（0-未处理, 1-处理中, 2-已处理, 3-驳回）")
    private Byte handleStatus;

    @ApiModelProperty(value = "处理人ID（关联管理员表）")
    private String handlerUserId;

    @ApiModelProperty(value = "处理结果描述")
    private String handleResult;

    @ApiModelProperty(value = "处理时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime handleTime;

    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "更新时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;


}